import { moveBy } from "./runprocess";

function print(matrix: number[][]) {
  let str = "";
  matrix.forEach((row) => {
    str += row.join(",") + "\n";
  });
  console.log(str);
}

export function test_moveBy() {
  // Test case 1: Move up
  // let matrix1 = [
  //   [0, 2, 2, 0],
  //   [0, 0, 0, 0],
  //   [2, 4, 4, 2],
  //   [2, 4, 4, 4],
  // ];
  // moveBy(matrix1, "up");
  // print(matrix1);
  // console.log(matrix1);

  // Test case 2: Move down
  // let matrix2 = [
  //   [0, 2, 2, 0],
  //   [0, 0, 0, 0],
  //   [2, 4, 4, 2],
  //   [2, 4, 4, 4],
  // ];
  // moveBy(matrix2, "down");
  // print(matrix2);

  // Test case 3: Move left
  let matrix3 = [
    [0, 2, 2, 0],
    [0, 0, 0, 0],
    [2, 4, 4, 2],
    [2, 4, 4, 4],
  ];
  moveBy(matrix3, "left");
  print(matrix3);

  // Test case 4: Move right
  // let matrix4 = [
  //   [0, 2, 2, 0],
  //   [0, 0, 0, 0],
  //   [2, 4, 4, 2],
  //   [2, 4, 4, 4],
  // ];
  // moveBy(matrix4, "right");
  // print(matrix4);
  // Expected output: [[0, 0, 0, 4], [0, 0, 0, 0], [0, 0, 0, 8], [0, 0, 0, 0]]

  // Test case 5: No move
  // let matrix5 = [
  //   [0, 2, 2, 0],
  //   [0, 0, 0, 0],
  //   [2, 4, 4, 2],
  //   [2, 4, 4, 4],
  // ];
  // moveBy(matrix5, "up");
  // print(matrix5);
  // Expected output: [[2, 4, 4, 4], [2, 4, 4, 2], [0, 0, 0, 0], [0, 0, 0, 0]]
}
